package com.migration.model.olddb;

import jakarta.persistence.*;
import lombok.Data;
import java.time.LocalDateTime;
import java.io.Serializable;

/**
 * 影响信息表 实体类
 * 表名：ra_influence
 * 自动生成的实体类
 */
@Data
@Entity
@Table(name = "ra_influence")
public class RaInfluence implements Serializable {

    private static final long serialVersionUID = 1L;
    
    /**
     * 主键
     * 主键
     */
    @Id
    @Column(name = "id", nullable = false)
    private Long id;
    
    /**
     * 影响编码
     */
    @Column(name = "influence_code", length = 16)
    private String influenceCode;
    
    /**
     * 搜索节点主键
     */
    @Column(name = "search_node_id")
    private Long searchNodeId;
    
    /**
     * 原因主键
     */
    @Column(name = "reason_id")
    private Long reasonId;
    
    /**
     * 影响描述
     */
    @Column(name = "influence_desc", length = 128)
    private String influenceDesc;
    
    /**
     * 当前节点主键
     */
    @Column(name = "current_node_id")
    private Long currentNodeId;
    
    /**
     * 当前节点名称
     */
    @Column(name = "current_node_name", length = 64)
    private String currentNodeName;
    
    /**
     * 建议措施总数
     * 默认值: 0
     */
    @Column(name = "advise_count")
    private Integer adviseCount;
    
    /**
     * 防护措施总数
     * 默认值: 0
     */
    @Column(name = "defend_count")
    private Integer defendCount;
    
    /**
     * 操作主键
     * 默认值: 0
     */
    @Column(name = "operate_id")
    private Long operateId;
    
    /**
     * 租户主键ID
     * 默认值: 1
     */
    @Column(name = "tenant_id")
    private Integer tenantId;
    
    /**
     * 是否删除（0、否 1、是）
     * 默认值: 0
     */
    @Column(name = "is_del", nullable = false)
    private Byte isDel;
    
    /**
     * 创建时间
     * 默认值: CURRENT_TIMESTAMP
     */
    @Column(name = "create_time", nullable = false)
    private java.time.LocalDateTime createTime;
    
    /**
     * 创建者
     */
    @Column(name = "create_by", length = 64)
    private String createBy;
    
    /**
     * 更新时间
     * 默认值: CURRENT_TIMESTAMP
     */
    @Column(name = "update_time", nullable = false)
    private java.time.LocalDateTime updateTime;
    
    /**
     * 更新者
     */
    @Column(name = "update_by", length = 64)
    private String updateBy;
    
    @Override
    public String toString() {
        return "RaInfluence{" +
            "id=" + id +
            ", influenceCode=" + influenceCode +
            ", searchNodeId=" + searchNodeId +
            ", reasonId=" + reasonId +
            ", influenceDesc=" + influenceDesc +
            ", currentNodeId=" + currentNodeId +
            ", currentNodeName=" + currentNodeName +
            ", adviseCount=" + adviseCount +
            ", defendCount=" + defendCount +
            ", operateId=" + operateId +
            ", tenantId=" + tenantId +
            ", isDel=" + isDel +
            ", createTime=" + createTime +
            ", createBy=" + createBy +
            ", updateTime=" + updateTime +
            ", updateBy=" + updateBy +
        '}';
    }
} 